<

Flutterのデスクトップサポート

Flutter はコンパイルのサポートを提供します ネイティブの Windows、macOS、または Linux デスクトップ アプリ。 Flutter のデスクトップ サポートはプラグインにも拡張されています。 Windows をサポートする既存のプラグインをインストールできます。 macOS または Linux プラットフォームを使用することも、独自のプラットフォームを作成することもできます。

要件

デスクトップ アプリケーションをコンパイルするには、 あなたはそれを構築しなければなりませんの上ターゲットにされた プラットフォーム: Windows 上で Windows アプリケーションを構築します。 macOS 上の macOS アプリケーション、 Linux 上の Linux アプリケーション。

デスクトップをサポートする Flutter アプリケーションを作成するには、 次のソフトウェアが必要です。

Windows の追加要件

Windows デスクトップ開発の場合、 Flutter SDK に加えて次のものが必要です。

  • Visual Studio 2022またVisual Studio ビルド ツール 2022Visual Studio またはビルド ツールのみをインストールする場合、 「C++ によるデスクトップ開発」ワークロードを選択し、 デフォルトのコンポーネントをすべて含めて、 必要な C++ ツールチェーンをインストールし、 Windows SDK ヘッダー ファイル。

追加の macOS 要件

macOS デスクトップ開発の場合、 Flutter SDK に加えて次のものが必要です。

  • Xcodeコマンドライン ツールだけでなく、Xcode の完全バージョンが必要です
  • ココアポッドプラグインを使用する場合

追加の Linux 要件

Linux デスクトップ開発の場合、 Flutter SDK に加えて次のものが必要です。

  • クラン
  • CMake
  • GTK 開発ヘッダー
  • 忍者ビルド
  • パッケージ構成
  • liblzma-devこの依存関係が必要になる場合があります

Flutter SDK と必要なものをインストールする簡単な方法の 1 つ 依存関係は使用することによって行われますスナップした。 詳細については、を参照してください。snapd のインストール。

入手したらsnapd、Flutterをインストールできます を使用してスナップストア、またはコマンドラインで次のようにします。

$ sudo snap install flutter --classic

あるいは、使用したくない場合は、snapd、 次のコマンドを使用できます。

$ sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev

新しいプロジェクトを作成する

次の手順を使用できます デスクトップをサポートする新しいプロジェクトを作成します。

設定

Windows では、デスクトップ サポートが有効になっています。 Flutter 2.10以降。 macOS および Linux では、 デスクトップのサポートは Flutter 3 以降で有効になります。

走るかもしれないflutter doctorかどうか確認する 未解決の問題があります。 成功したそれぞれにチェックマークが表示されるはずです 設定されたエリア。次のようになります。 Windows では次のようになります。 「Windows 向け開発」のエントリ:

C:\> flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.0.0, on Microsoft Windows [Version 10.0.19044.1706], locale en-US)
[✓] Chrome - develop for the web
[✓] Visual Studio - develop for Windows (Visual Studio Professional 2022 17.2.0)
[✓] VS Code (version 1.67.2)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

• No issues found!

macOS では、次のような行を探します。

[✓] Xcode - develop for iOS and macOS

Linux では、次のような行を探します。

[✓] Linux toolchain - develop for Linux desktop

もしもflutter doctor問題や不足しているコンポーネントを見つけます 開発したくないプラットフォームの場合、 これらの警告は無視してかまいません。または、無効にすることもできます プラットフォーム全体を使用して、flutter config指図、 例えば:

$ flutter config --no-enable-ios

その他の利用可能なフラグ:

  • --no-enable-windows-desktop
  • --no-enable-linux-desktop
  • --no-enable-macos-desktop
  • --no-enable-web
  • --no-enable-android
  • --no-enable-ios

デスクトップサポートを有効にした後、 新しいデバイスを検出できるように IDE を再起動します。

作成して実行する

デスクトップ サポートを使用して新しいプロジェクトを作成する場合も同様です。 よりも新しい Flutter プロジェクトの作成他のプラットフォームの場合。

デスクトップ用の環境を構成したら サポートされている場合、デスクトップ アプリケーションを作成して実行できます。 IDE またはコマンドラインから。

IDE の使用

サポートするように環境を構成した後 デスクトップの場合は、IDE を再起動してください。 既に実行中。

IDE で新しいアプリケーションを作成すると、自動的に作成されます。 アプリの iOS、Android、Web、デスクトップ バージョンを作成します。 デバイスのプルダウンから選択しますウィンドウ(デスクトップ)macOS (デスクトップ)、 またLinux (デスクトップ)アプリケーションを実行して、デスクトップ上で起動することを確認します。

コマンドラインから

デスクトップ サポートを含む新しいアプリケーションを作成するには (モバイルおよび Web サポートに加えて)、次のコマンドを実行します。 置き換えるmy_appプロジェクトの名前を付けて:

$ flutter create my_app
$ cd my_app

コマンドラインからアプリケーションを起動するには、 次のコマンドのいずれかを上から入力します パッケージの:

C:\> flutter run -d windows
$ flutter run -d macos
$ flutter run -d linux

リリースアプリを構築する

リリース ビルドを生成するには、 次のコマンドのいずれかを実行します。

PS C:\> flutter build windows
$ flutter build macos
$ flutter build linux

既存の Flutter アプリにデスクトップ サポートを追加する

既存の Flutter プロジェクトにデスクトップ サポートを追加するには、 ターミナルで次のコマンドを実行します。 ルートプロジェクトディレクトリ:

$ flutter create --platforms=windows,macos,linux .

これにより、必要なデスクトップ ファイルとディレクトリが追加されます 既存の Flutter プロジェクトに追加します。 特定のデスクトップ プラットフォームのみを追加するには、 変更platformsのみ含めるリスト 追加するプラットフォーム。

プラグインのサポート

デスクトップ上の Flutter は、プラグインの使用と作成をサポートします。 デスクトップをサポートするプラグインを使用するには、 のプラグインの手順に従いますパッケージの使用。 Flutter は必要なネイティブ コードを自動的に追加します 他のプラットフォームと同様に、プロジェクトに追加します。

プラグインを書く

独自のプラグインを構築し始めると、 フェデレーションを念頭に置いてください。 フェデレーションとは、いくつかの機能を定義する機能です。 さまざまなパッケージがあり、それぞれが 異なるプラットフォームのセットを統合 開発者が使いやすいように単一のプラグインに統合されています。 たとえば、Windows の実装では、url_launcher本当にurl_launcher_windows、 しかし、Flutter 開発者は単にurl_launcher彼らにパッケージするpubspec.yaml依存関係としてビルドプロセスが取り込みます ターゲット プラットフォームに基づいた正しい実装。 フェデレーションはさまざまなチームがあるため便利です さまざまな専門知識がプラグイン実装を構築できる さまざまなプラットフォーム向け。 新しいプラットフォーム実装を任意のプラットフォームに追加できます。 pub.dev で承認されたフェデレーション プラグイン、 この取り組みを オリジナルのプラグイン作者。

情報などの詳細については、 承認されたプラグインについては、次のリソースを参照してください。

  • パッケージとプラグインの開発、特にフェデレーションプラグインセクション。
  • Flutter Web プラグインの作成方法、パート 2、 フェデレーション プラグインの構造について説明し、 デスクトップに適用される情報が含まれています プラグイン。
  • 最新の Flutter プラグインの開発カバー Flutter のプラグイン サポートに対する最近の機能強化。

サンプルとコードラボ

Flutter デスクトップ アプリケーションを作成する
構築手順を説明するコードラボ GitHub を統合するデスクトップ アプリケーション Flutter アプリを使用した GraphQL API。

次のサンプルをデスクトップ アプリとして実行できます。 ソースコードをダウンロードして検査するだけでなく、 Flutter デスクトップのサポートについて詳しくは、こちらをご覧ください。

flutterギャラリー実行中のウェブアプリ、リポジトリ
開発者を支援するために GitHub でホストされているサンプル プロジェクト Flutterを評価して使用します。ギャラリーは、 マテリアル デザイン ウィジェット、動作のコレクション Flutter で実装されたビネット。 プロジェクトのクローンを作成し、ギャラリーをデスクトップ アプリとして実行できます。 に記載されている指示に従って、お読みください。
フロックお知らせのブログ投稿、リポジトリ
GitHub および Twitter と統合された Google 連絡先マネージャー。 Google アカウントと同期し、連絡先をインポートし、 そしてそれらを管理できるようになります。
写真検索アプリ
デスクトップ アプリケーションとして構築されたサンプル アプリケーション デスクトップでサポートされているプラ​​グインを使用します。